home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1995-03-27 | 14.8 KB | 574 lines |
- --> HD Speed Test
- This program and all documentation
- David Holden 1995
- ;A_$="HDspeed":B_$="1.10 Jan 1995":C_$="
- David Holden"
- 262343,F_%,G_%
- 262341,,G_%
- 262342,,G_%
- J_(K_%,L_%)
- 262364,G_%!24:
- G_%!24=13
- 17,18:
- G_%!16
- Q_%>0
- F_%=%110000110001
- 262351,,R_%:S_%=!R_%:T_%=R_%!8:U_%=R_%!4:V_%=R_%!12:W_%=R_%!16:
- Q_%>116 !G_%=Z_%:
- 262347,,G_%:
- 262341,,G_%:
- a_(Z_%,4)
- c_(d_%,48,
- e_(!G_%))
- c_(d_%,46,
- g_(!G_%))
- T_%=1
- 262356,,X_%,S_%,h_%
- 262351,,R_%:S_%=!R_%:T_%=R_%!8:U_%=R_%!4:V_%=R_%!12:W_%=R_%!16:
- W_%=i_%
- 2:S_%-=100:h_%=240:X_%=Y_%:
- 262356,,X_%,S_%,h_%
- 4:!G_%=d_%:
- 262347,,G_%:
- 262341,,G_%
- Q_%<116
- Q_%>0 j_$=
- k_(d_%,9)
- Q_%<>0 Q_%=
- Q_%<0
- c_(d_%,9,"Paused")
- Q_%>0
- c_(d_%,9,j_$):F_%=0
- Q_%>0
- l_(3,"Are you sure?")=1 Q_%=-1
- Q_%<0 Q_%=0:
- c_(d_%,9,"Waiting")
- m_(0):
- 131080,6,n_$
- 46:S_%-=8:h_%=U_%+48:X_%=f_%:
- 262356,,X_%,S_%,h_%
- 48:S_%-=8:h_%=U_%+48:X_%=b_%:
- 262356,,X_%,S_%,h_%
- 10:K_%=d_%:L_%=10:
- o_(d_%,10)
- 1:K_%=Z_%:L_%=1:
- o_(Z_%,1)
- 8:!G_%=Z_%:
- 262342,,G_%
- G_%!4=6
- G_%!4=48
- a_(d_%,31)
- c_(d_%,9,"Working"):
- 63:u_%?I%=0:
- v_(d_%,11)
- w_(&C800,
- x_(d_%,31),51)
- y_(51)
- v_(d_%,12)
- z_(&C800,
- x_(d_%,32),52)
- y_(52)
- v_(d_%,13)
- w_(&80000,
- x_(d_%,33),53)
- y_(53)
- v_(d_%,14)
- z_(&80000,
- x_(d_%,34),54)
- y_(54)
- v_(d_%,15)
- __(&C800,1000,55)
- y_(55)
- v_(d_%,16)
- `_(&C800,1000,56)
- y_(56)
- v_(d_%,17)
- __(A`%,1000,57)
- y_(57)
- v_(d_%,18)
- `_(A`%,1000,58)
- y_(58)
- v_(d_%,19)
- B`(&C800,
- x_(d_%,39),59)
- y_(59)
- v_(d_%,20)
- C`(&C800,
- x_(d_%,40),60)
- y_(60)
- v_(d_%,21)
- B`(D`%,
- x_(d_%,41),61)
- y_(61)
- v_(d_%,22)
- C`(D`%,
- x_(d_%,42),62)
- y_(62)
- v_(d_%,23)
- E`(&C800,
- x_(d_%,43),63)
- y_(63)
- v_(d_%,24)
- E`(&80000,
- x_(d_%,44),64)
- y_(64)
- v_(d_%,25)
- E`(D`%,
- x_(d_%,45),65)
- y_(65)
- c_(d_%,9,"Finished"):!G_%=Z_%:
- 262347,,G_%:
- 262341,,G_%:
- a_(Z_%,4)
- 131080,6,n_$:F_%=%110000110001
- :Q_%+=1:
- y_(i%):
- c_(d_%,i%,"Omit"):u_%!((i%-51)*4)=0:
- F`(i%):
- c_(d_%,i%,"****"):u_%!((i%-51)*4)=-1:
- G`(i%,t%,d%):
- p%:p%=i%*4:t%=(t%*10)
- d%:u_%!p%=t%:
- c_(d_%,i%+51,
- H`(t%,
- J`%!p%=(K`%!p%*100)/t%:
- c_(d_%,i%+71,
- (J`%!p%))
- L`(i%,t%,d%,M`%):
- p%:p%=i%*4:A%=(((M`%
- 1024)*d%*100)
- t%)+0.4:u_%!p%=A%:
- c_(d_%,i%+51,
- (A%)):
- J`%!p%=A%*1000/K`%!p%:
- c_(d_%,i%+71,
- (J`%!p%))
- w_(M`%,N`%,i%):
- F`(i%):
- =$R_%=n_$:A%=1:G%=N`%:H%=M`%:T%=
- (O`%):
- G`(i%-51,T%,N`%):
- z_(M`%,N`%,i%):
- F`(i%):
- =$R_%=n_$:A%=2:G%=N`%:H%=M`%:T%=
- (O`%):
- G`(i%-51,T%,N`%):
- __(M`%,N`%,i%):
- F`(i%):
- (-10):
- N`%*4
- 4:P`%!I%=
- (M`%-1):
- :$R_%=n_$:A%=3:H%=N`%:T%=
- (O`%):
- G`(i%-51,T%,1):
- `_(M`%,N`%,i%):
- F`(i%):
- (-10):
- N`%*4
- 4:P`%!I%=
- (M`%-1):
- :$R_%=n_$:A%=4:H%=N`%:T%=
- (O`%):
- G`(i%-51,T%,1):
- B`(M`%,N`%,i%):
- F`(i%):
- m_(M`%)=
- 1000,"Not enough RAM for this test"
- K$R_%=n_$:A%=5:G%=M`%:H%=N`%:T%=
- (O`%):
- L`(i%-51,T%,N`%,M`%):I%=
- m_(0):
- C`(M`%,N`%,i%):
- F`(i%):
- m_(M`%)=
- 1000,"Not enough RAM for this test"
- 8,11,n_$,&FFD,,0,M`%:$R_%=n_$:A%=6:H%=N`%:T%=
- (O`%):
- L`(i%-51,T%,N`%,M`%):I%=
- m_(0):
- E`(M`%,N`%,i%):
- F`(i%):
- m_(M`%)=
- 1000,"Not enough RAM for this test"
- 8,11,n_$,&FFD,,0,M`%:$R_%=n_$:A%=7:G%=M`%:H%=N`%:T%=
- (O`%):
- L`(i%-51,T%,N`%,M`%*2):I%=
- m_(0):
- p%,R`%,S`%,T`%,U`%:R`%=0:T`%=0:S`%=0:U`%=0:
- +1:@%=6:p%=P`%:$p%=" Speed test carried out on '"+n_$:I%=p%:
- :I%+=1:
- ?I%=46:?I%=13:$I%="' on ":I%?5=0:
- 7,14,I%+5:p%=
- V`(p%):?p%=10:p%+=1
- w$p%=" Produced by program '"+A_$+"', v"+B_$+", "+C_$:p%=
- V`(p%):?p%=10:p%+=1:$p%=" "+
- k_(Z_%,4):
- $p%>" " p%=
- V`(p%)
- *$p%=" "+
- k_(Z_%,5):
- $p%>" " p%=
- V`(p%)
- I`$>"" ?p%=10:p%+=1:$p%=" Comparison with: "+I`$:p%=
- V`(p%)
- {?p%=10:p%+=1:$p%=" Byte access test, large file sise = ":
- v_(d_%,29)=
- $p%+=
- &100000)+" Mb"
- $p%+=
- 1024)+" Kb"
- V`(p%):$p%=" All times are in centi-seconds":p%=
- V`(p%):?p%=10:p%+=1:
- $p%:$p%+=
- 6," "):
- u_%!I%
- 0:$p%+=" Omitted"
- -1:$p%+=" Error!"
- :$p%+=
- H`(u_%!I%,10):
- $p%+=
- W`(J`%!I%,10)+"%":R`%+=J`%!I%:T`%+=1
- V`(p%):
- T`%>1 $p%=" Average random variation from baseline "+
- T`%)+"%":p%=
- V`(p%)
- z?p%=10:p%+=1:$p%=" Block Load/Save, large file sise = ":
- v_(d_%,49)=
- $p%+=
- &100000)+" Mb"
- $p%+=
- 1024)+" Kb"
- V`(p%):$p%=" Data transfer speed shown in Kb/Sec":p%=
- V`(p%):?p%=10:p%+=1:
- I%=32
- $p%:$p%+=
- 6," "):
- u_%!I%
- 0:$p%+=" Omitted"
- -1:$p%+=" Error"
- :$p%+=
- W`(u_%!I%,8):
- $p%+=
- W`(J`%!I%,12)+"%":S`%+=J`%!I%:U`%+=1
- V`(p%):
- T`%>1 $p%=" Average block variation from baseline "+
- U`%)+"%":p%=
- V`(p%)
- ?p%=10:p%+=1:
- T`%>1 $p%=" Overall average variation from baseline "+
- ((R`%+S`%)
- (T`%+U`%))+"%":p%=
- V`(p%)
- #?p%=10:p%+=1:X`%=p%:Q`%=
- :@%=10
- " Read 50K sequential bytes "
- " Write 50K sequential bytes "
- " Read 500K sequential bytes "
- " Write 500K sequential bytes "
- " 50 Kb file read 1,000 random bytes "
- " 50 Kb file write 1,000 random bytes"
- " Large file read 1,000 random bytes "
- " Large file write 1,000 random bytes"
- " Save 50Kb file "
- " Load 50Kb file "
- " Save large block file "
- " Load large block file "
- " Save/load 50 Kb file "
- " Save/load 512 Kb file "
- " Save/load large block file "
- V`(Y`%):
- ?Y`%>31:Y`%+=1:
- :?Y`%=10:=Y`%+1
- W`(n%,l%):=
- (n%))," ")+
- Z`:I%=
- m_(0):F_%=%110000110001:
- c_(d_%,26,""):
- c_(d_%,27,""):Q_%=0:Q`%=
- o_(w%,i%):!G_%=w%:
- 262347,,G_%:X%=G_%!4-G_%!20:Y%=G_%!16-G_%!24:G_%!4=i%:
- 262350,,G_%:!G_%=w%:G_%!4=5:G_%!8=G_%!8+X%:G_%!12=G_%!12+Y%:G_%!16=G_%!16+X%:G_%!20=G_%!20+Y%:G_%!24=0:G_%!28=0:G_%!32=&7FFFFFFF:G_%!36=&7FFFFFFF
- 262352,,G_%:
- J_(w%,i%):
- 262351,,G_%:G_%!20=G_%!12:G_%!24=G_%!16:G_%!28=!G_%:G_%!32=G_%!4:
- d_%:a`%=&FFD:b`$="HD_Temp":A`%=
- x_(d_%,46)*1024:D`%=
- x_(d_%,48)*1024:
- v_(d_%,29)=
- A`%=A`%*1024
- v_(d_%,49)=
- D`%=D`%*1024
- A`%>D`% c`%=A`%
- c`%=D`%
- d`%=c`%
- Q`:a`%=&FFF:d`%=X`%-P`%:b`$=
- k_(Z_%,6)
- :G_%!36=d`%:G_%!40=a`%:G_%!16=1:$(G_%+44)=b`$:!G_%=(
- (b`$)+49)
- 3:G_%!12=0:
- 262375,17,G_%,G_%!20,G_%!24:
- C0I%=G_%+44:
- ?I%>31:I%+=1:
- :?I%=13:
- a`%=&FFF
- 8,10,$(G_%+44),&FFF,,P`%,X`%:!G_%=Z_%:
- 262342,,G_%
- :n_$=$(G_%+44):
- 8,11,n_$,&FFD,,0,d`%:$R_%=n_$:e`$="":f`$="":I%=R_%:
- ?I%<>
- ":":e`$+=
- (?I%):I%+=1:
- :I%+=2:
- ?I%<>
- ".":f`$+=
- (?I%):I%+=1:
- c_(d_%,26,e`$):
- c_(d_%,27,f`$):
- c_(Z_%,6,f`$):Q_%=1:F_%=0
- 131107,"HDspeedLog$Dir",R_%,-1,0
- ,,I%:
- 1000,"HDSpeed Log Directory not found.":
- 8,10,"<HDSpeedLog$Dir>.logs."+
- k_(Z_%,6),&FFF,,P`%,X`%:!R_%=Z_%:
- 262342,,R_%:
- 10,10,1,1,100,100,10,10,25,10,10
- !R_%=d_%:R_%!8=1<<21:R_%!12=1<<21:
- I%=11
- 25:R_%!4=I%:
- 262349,,R_%:
- :R_%!4=29:
- 262349,,R_%:R_%!4=49:
- 262349,,R_%:R_%!8=0:R_%!4=30:
- 262349,,R_%:R_%!4=50:
- 262349,,R_%:
- I%=31
- c_(d_%,I%,a$):
- I%=39
- c_(d_%,I%,a$):
- c_(d_%,46,"8"):
- c_(d_%,48,"2"):
- c_(d_%,26,""):
- c_(d_%,27,""):
- c_(d_%,9,"Waiting"):
- I%=51
- c_(d_%,I%,""):
- c_(d_%,I%+20,""):
- $+" loading Setup",
- x?H%=
- (g`$+".Setup"):
- H%=0 I%=
- l_(1,"Setup file not found"):
- I%=11
- h`(d_%,I%):
- h`(d_%,29):
- h`(d_%,30):
- h`(d_%,49):
- h`(d_%,50):
- I%=31
- i`(d_%,I%):
- I%=39
- i`(d_%,I%):
- i`(d_%,46):
- i`(d_%,48):
- h`(w%,i%):!R_%=w%:R_%!4=i%:
- 262350,,R_%:
- J%=64
- 67:R_%?J%=
- :R_%!8=(R_%!24)
- (R_%!64):R_%!12=0:
- 262349,,R_%:
- i`(w%,i%):
- a$,c%:a$="":
- #H%:a$+=
- (c%):
- c%<32:
- c_(w%,i%,a$):
- (g`$+".Setup"):
- I%=11
- j`(d_%,I%):
- j`(d_%,29):
- j`(d_%,30):
- j`(d_%,49):
- j`(d_%,50):
- I%=31
- k`(d_%,I%):
- I%=39
- k`(d_%,I%):
- k`(d_%,46):
- k`(d_%,48):
- j`(w%,i%):!R_%=w%:R_%!4=i%:
- 262350,,R_%:
- J%=24
- #H%,R_%?J%:
- k`(w%,i%):!R_%=w%:R_%!4=i%:
- 262350,,R_%:J%=R_%!28:
- ?J%>31:
- #H%,?J%:J%+=1:
- #H%,13:
- H`(n%,l%):
- a$:a$=
- 10):n%=n%
- (l%-2)-
- (a$)," ")+a$:
- n%>0 a$=a$+"."+
- a$+=" "
- n%>0 a$=a$+"."+
- l`(w%,i%,v%):!R_%=w%:R_%!4=i%:
- 262350,,R_%:R_%!8=0:R_%!12=0:$(R_%!28)=
- (v%):
- 262349,,R_%:
- c_(w%,i%,s$):!R_%=w%:R_%!4=i%:
- 262350,,R_%:R_%!8=0:R_%!12=0:$(R_%!28)=s$:
- 262349,,R_%:
- k_(w%,i%):!R_%=w%:R_%!4=i%:
- 262350,,R_%:I%=(R_%!28):
- ?I%>31:I%+=1:
- :?I%=13:=$(R_%!28)
- x_(w%,i%):!R_%=w%:R_%!4=i%:
- 262350,,R_%:I%=(R_%!28):
- ?I%>31:I%+=1:
- :?I%=13:=
- $(R_%!28)
- a_(w%,i%):!R_%=w%:R_%!4=i%:
- 262350,,R_%:
- 262354,w%,i%,,,-1,
- $(R_%!28):
- v_(w%,i%):!R_%=w%:R_%!4=i%:
- 262350,,R_%:
- (R_%!24
- 1<<21):=
- e_(i%):
- 1,2,3,4,6,8,12,256,500,780,1560
- a$:i%-=1:
- i%<0:=a$
- g_(i%):
- 1,2,4,8,16,32,50,100,500,780,1560
- a$:i%-=1:
- i%<0:=a$
- m`(M`%):
- n`,o`,p`,q`,m%:o`=1:n`=2:q`=4:p`=&80:
- r`% M`%:m%=r`%:Y_%=
- s`(m%,"HDspeed",200):m%=
- t`("Info",0,u`%):m%=
- t`("Save log",0,0):m%=
- t`("Quit",p`,0):b_%=
- s`(m%,"Size",80):
- 9:m%=
- e_(I%),0,0):
- e_(10),p`,0):f_%=
- s`(m%,"Size",80):
- 9:m%=
- g_(I%),0,0):
- g_(10),p`,0):
- s` (a%,v`$,w`%):$a%=v`$:a%!12=&70207:a%!16=w`%:a%!20=40:a%!24=0:m%=a%+28:=a%
- t` (x`$,y`%,z`%):!m%=y`%:m%!4=z`%:m%!8=&7000001:$(m%+12)=x`$:=m%+24
- _` (``$,Aa%,``%):m%!0=Aa%:m%!4=0:m%!8=&7000101:m%!12=``%:m%!16=-1:m%!20=127:
- ``$<>"?" $``%=``$
- =m%+24
- Ba (Ca$,Da%):!G_%=Da%:G_%!4=-24:G_%!8=0:G_%!12=56:G_%!16=96:G_%!20=&2002:$(G_%+24)="!"+Ca$:
- 262338,,G_%
- I%:=I%
- E_ (Ea$,Fa%):*FX229,1
- 263874:!R_%=
- :$(R_%+4)="Error "+
- )+": "+Ea$++
- 262367,R_%,1,Ga%:
- 262365,Ha%,&4B534154:
- l_(Ia%,a$):!R_%=0:$(R_%+4)=a$+
- 262367,R_%,16
- Ia%,Ga%
- ,I%:=I%
- m_(M`%):
- 262380,Ja%+M`%,-1
- e%<(Ja%+M`%):=
- 8,16,"<Obey$Dir>.baseline",P`%,0
- ,,,,La%:
- p%=P`%
- P`%+La%:
- ?p%=10 ?p%=13
- :p%=P`%:p%=
- Ma(p%):I`$=$p%:I%=0:
- Na(p%):p%=
- Ma(p%):K`%!I%=(
- ($p%))*10:I%+=4:
- p%>(P`%+La%)
- I%>56:I`%=
- Ma(i%):
- ?i%<33:i%+=1:
- ?i%=124:
- ?i%>31:i%+=1:
- Ma(i%)
- Na(i%):
- ?i%>31:i%+=1:
- :=i%+1
- Oa (Pa%):
- ``% Pa%,Qa%&100:E%=``%+Pa%:
- Ra%<300 Sa$="RO-2"
- Sa$="Templates"
- (-3)Sa$="RO-2"
- 262361,,"<HDspeed$Dir>.Templates."+Sa$:
- 262363,,Ta%,``%,E%,-1,"info",0
- ,,R%:
- 262337,,Ta%
- 262363,,Ta%,R%,E%,-1,"main",0
- ,,R%:
- 262337,,Ta%
- 262363,,Ta%,R%,E%,-1,"finish",0
- ,,R%:
- 262337,,Ta%
- 262363,,Ta%,R%,E%,-1,"edit",0
- ,,R%:
- 262337,,Ta%
- 262363,,Ta%,R%,E%,Qa%,"banner",0
- ,,R%:
- 262337,,Ta%
- 262362:!G_%=u`%:G_%!4=1:
- 262350,,G_%:$(G_%!28)=A_$:!G_%=u`%:G_%!4=2:
- 262350,,G_%:$(G_%!28)=B_$
- J2!G_%=u`%:G_%!4=3:
- 262350,,G_%:$(G_%!28)=C_$:
- 262336,200,&4B534154,"HD Speed"
- Ra%,Ha%:Ja%=
- -&8000:Ta%=
- G_%&100,R_%&100,Ga% 16,P`%&1400:
- K`% 64,u_% 64,J`% 64:$Ga%="HD Speed":Wa%=10:
- $+" During initialisation",
- 35,"HDspeed$Dir",G_%,256,0,3
- ,,I%:G_%?I%=13:g`$=$G_%:
- m_(&2000)=
- 0,"Not enough memory to run HD Speed"
- Oa(&A00):
- m`(800):i_%=
- Ba("hdspeed",-1):
- 8,13,g`$+".Setup"
- Z`:I`%=
- :I`$="":
- 8,13,g`$+".Baseline"
- l_(1,"Baseline file not found, unable to display comparitive table")
- O`%&600:
- 2:P%=O`%:[OPT Ya:stmfd r13!,{r14}:adr r8,Za:mov r0,r0,lsl#2:ldr pc,[r8,r0]
- jG.Za equd aa:equd w_:equd z_:equd __:equd `_:equd B`:equd C`:equd E`
- sv.ba equd R_%:.ca equd 0:.da equd P`%:.Ta equd Ta%:.ea equd&FFD:.fa equd Va%:.ga equd u`%:.Wa equd Wa%:.ha equd Ga%
- .E`:swi&42:str r0,ca:ldr r1,ba:.ia subs r7,r7,#1:bmi ja:mov r0,#10:ldr r2,ea:ldr r4,Ta:add r5,r6,r4:swi 8:mov r0,#16:ldr r2,Ta:mov r3,#0:swi 8:bal ia
- g.C`:swi&42:str r0,ca:ldr r1,ba:.ka subs r7,r7,#1:bmi ja:mov r0,#16:ldr r2,Ta:mov r3,#0:swi 8:bal ka
- ,.la equs "<obey$dir>.h_reg":equb 0:align
- t.B`:swi&42:str r0,ca:mov r0,#10:ldr r1,ba:ldr r2,ea:ldr r4,Ta:add r5,r6,r4:.ma subs r7,r7,#1:bmi ja:swi 8:bal ma
- k.`_:bl na:ldr r5,da:mov r0,#1:.oa subs r7,r7,#1:bmi pa:ldr r2,ba:mov r3,#1:ldr r4,[r5],#4:swi 12:bal oa
- D.qa swi&42:add r3,r0,#600:.ra swi&42:cmp r0,r3:blt ra:mov pc,r14
- .aa stmfd r13!,{r14}:adr r1,la:mov r0,#13:swi 8:cmp r0,#1:bne sa:cmp r4,#&20:bne ta:mov r0,#255:ldr r2,Ta:mov r3,#0:swi 8:ldr r6,Wa:ldr r4,Ta:ldr r3,[r4],#4:mov r2,#0:.ua:ldrb r0,[r4,r2]:mvn r0,r0:and r0,r0,#&FF:add r0,r0,r6
- ]sub r3,r3,r0:sub r0,r0,r2:strb r0,[r4,r2]:add r2,r2,#1:cmp r2,#20:blt ua:cmp r3,#0:beq va
- x.ta:ldr r0,ha:swi&400Ef:adr r1,wa:.xa ldrb r0,[r1],#1:cmp r0,#0:swine 0:bne xa:align:bl qa:mov r0,#1:ldmfd r13!,{pc}
- .wa:equd&20200A0A:equd&20656854:equd&69676552:equd&61727473:equd&6e6f6974:equd&6c694620:equd&61682065:equd&65622073:equd&74206e65:equd&65706d61:equd&20646572:equd&68746977:equd&0A0A070D
- }equd&2020200A:equd&20202020:equd&20202020:equd&676f7250:equd&206d6172:equd&6d726574:equd&74616e69:equd&0A676e69:equd&0A0D
- .sa:swi 256+7:ldr r0,fa:ldr r1,Ta:add r1,r1,#48:str r0,[r1]:swi&400Cb:swi&400c5:mov r4,#10:.ya:mov r0,#0:ldr r1,Ta:add r1,r1,#48:swi&400c7:subs r4,r4,#1:bpl ya:bl qa:ldr r1,Ta:add r1,r1,#48:ldr r0,fa:str r0,[r1]:swi&400c6
- mov r0,#0:ldmfd r13!,{pc}
- .va:ldr r1,Ta:add r1,r1,#48:ldr r0,ga:str r0,[r1]:mov r0,#5:str r0,[r1,#4]:swi&400ce:ldr r3,[r1,#28]:ldr r2,Ta:add r2,r2,#4:.xa ldrb r0,[r2],#1:strb r0,[r3],#1:cmp r0,#32:bge xa:mov r0,#0:ldmfd r13!,{pc}
- z.__:bl na:ldr r5,da:mov r0,#3:.oa subs r7,r7,#1:bmi pa:ldr r2,ba:mov r3,#1:ldr r4,[r5],#4:swi 12:bal oa:]:
- Ya>1:=
- (Y[OPT Ya:.na:mov r0,#&CC:ldr r1,ba:swi "OS_Find":mov r1,r0:swi&42:str r0,ca:mov pc,r14
- 1V.pa:swi&42:mov r6,r0:mov r0,#0:swi"OS_Find":ldr r1,ca:sub r0,r6,r1:ldmfd r13!,{pc}
- :5.ja:swi&42:ldr r6,ca:sub r0,r0,r6:ldmfd r13!,{pc}
- @{.z_:bl na:.za subs r6,r6,#1:bmi pa:mov r0,#1:mov r2,#0:swi 9:sub r4,r7,#1:._a swi "OS_BPut":subs r4,r4,#1:bpl _a:bal za
- .w_:bl na:.`a subs r6,r6,#1:bmi pa:mov r0,#1:mov r2,#0:swi "OS_Args":sub r4,r7,#1:.Ab swi "OS_BGet":subs r4,r4,#1:bpl Ab:bal `a
-